package controller

import (
	"doctor_api_backend/config"
	"doctor_api_backend/models"
	"fmt"
	"net/http"

	"github.com/gin-gonic/gin"
)

// 管理员负责查和删除，更新，不负责创建
// 管理员管理system_user表，创建用户逻辑在auth_user.go中

// 获取所有系统用户
func GetAllSystemUsers(c *gin.Context) {
	var systemUsers []models.SystemUser
	config.DB.Find(&systemUsers)
	c.JSON(http.StatusOK, gin.H{"message": "系统用户获取成功", "data": systemUsers})
	// 打印系统用户数量
	fmt.Println("系统用户数量:", len(systemUsers))
}

// 通过system_user_code获取单个系统用户
func GetSystemUser(c *gin.Context) {
	var systemUser models.SystemUser
	config.DB.Where("system_user_code = ?", c.Param("systemUserCode")).First(&systemUser)
	c.JSON(http.StatusOK, gin.H{"message": "系统用户获取成功", "data": systemUser})
	// 打印系统用户
	fmt.Println("系统用户:", systemUser)
}

// 通过system_user_code更新系统用户
func UpdateSystemUser(c *gin.Context) {
	var systemUser models.SystemUser
	config.DB.Where("system_user_code = ?", c.Param("systemUserCode")).First(&systemUser)
	config.DB.Save(&systemUser)
	c.JSON(http.StatusOK, gin.H{"message": "系统用户更新成功"})
	// 打印系统用户
	fmt.Println("系统用户:", systemUser)
}

// 通过system_user_code删除系统用户
func DeleteSystemUser(c *gin.Context) {
	var systemUser models.SystemUser
	config.DB.Where("system_user_code = ?", c.Param("systemUserCode")).First(&systemUser)
	config.DB.Delete(&systemUser)
	c.JSON(http.StatusOK, gin.H{"message": "系统用户删除成功"})
	// 打印系统用户
	fmt.Println("系统用户:", systemUser)
}
